웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > php

[PHP] 행 개수 구하기, mysqli_num_rows()

Last Modified : 2017-12-18 / Created : 2016-05-31
50,676
View Count

PHP 언어에서 데이터베이스에 저장된 row의 모든 개수를 구하려면 어떻게 해야할까요? 우선 DB를 불러오기 위하여 SELECT문을 사용하여 일부 또는 모든 데이터를 얻고 해당하는 row 개수를 알아야할 것입니다. 이를 알기위한 방법으로 mysqli_num_rows() 함수를 사용할 수 있습니다.



# PHP mysqli_num_rows() 함수 알아보기

이 함수는 해당하는 데이터의 총 개수를 숫자로 반환하여 줍니다. 만약 쿼리를 통해 가져온 데이터가 $data이라면 아래와 같이 간단하게 사용할 수 있습니다.

mysqli_num_rows($data)

위와 같이 상요하면 해당하는 쿼리문에서 반환된 row의 개수, 총 몇 개의 행을 가졌는지 그 개수를 반환하는 함수입니다. 예를 들어 아래와 같은 테이블이 존재하고 SELECT문을 사용하여 얻은 결과가 총 몇 개의 행을 가지고 있는지 알고자 한다면 했을 경우 아래와 같이 사용할 수 있습니다. 아래는 테이블에 존재하는 row값을 구하기 위한 실전 예제소스입니다.


! mysqli_num_rows() 예제소스 보기

아래예제는 테이블에서 존재하는 row의 개수를 구하는 예제입니다.

1. 테이블명 - contact
2. 테이블에 존재하는 값

==================
   id - - -    phone
==================
   1 - - - 01011112222
   2 - - - 01022223333
   3 - - - 01033334444
   4 - - - 01091112222
==================

위와 같은 테이블이 존재하는 경우 2개의 필드에 총 4개의 row가 존재합니다. 이를 사용하여 총 개수를 구해보도록 하겠습니다.
<?php
  $query = "SELECT * FROM contact";
  $data = mysqli_query($dbc, $query);
  $total_rows = mysqli_num_rows($data);

  echo $total_rows;
?>

위의 결과값으로 해당 테이블 contact는 총 3개의 행이 있으므로 $total_rows는 3을 반환합니다.
4 // $total_rows가 가진 모든 행의 개수 반환

전체 행의 개수를 구하는 방법으로 아래와 같은 방법이 또 하나 있습니다. 여기서는 쿼리문에 COUNT() 함수를 사용하는 방법으로 $row[0]을 함께 사용합니다. 방법은 아래와 같습니다.

<?php
  $query = "SELECT COUNT(*) FROM contact";
  $data = mysqli_query($dbc, $query);
  $row = mysqli_fetch_array($data);
  $total_rows = $row[0];

  echo $total_rows;
?>


# 마치면서, PHP에서 총 개수는 언제 필요할까요

위와 같이 데이터의 총 개수를 구해야하는 경우가 언제있을까요? 많은 경우가 있겠으나 일반적으로 페이지를 나누어 보여주는 경우... 즉 페이지네이션을 구현할때도 사용합니다. 보여줄 개수를 총 개수에서 나누어야 현재 또는 총 페이지 계산이 가능하므로 이를 위하여 총 row 데이터값이 필요할 수 있습니다.

그 외에도 게시판이나 카테고리에 총 개수를 간략하게 보여주기 위하여 아래와 같이 표기할 수 있을 것입니다. 이 경우에도 많이 사용됩니다.
:+: 카테고리 총개수(100) :+:
1. 자바스크립트 (50)
2. html/css (30)
3. PHP(20)

위와 같이 총 개수를 사용하는 곳은 매우 많이 사용되므로 매우 중요합니다.

Previous

[PHP] 난수생성 rand(), mt_rand()

Previous

[PHP] 배열 개수 구하기, count()